/*
* @axiosApi.js
* @description axios的二次封装
* @author chenzhihui
* @update (chenzhihui 2019/3/26)
*/
import axiosClassApi from './axiosClass.js'
/**
 * AxiosApi对象
 * @type {{init: AxiosApi.init, axiosApi: Array, getFaTableData: (function(*=): *), getTest: (function(*=): *)}}
 */
let AxiosApi = {
    axiosApi:{},
    /**
     *
     * @param url 基础url
     * @param index 创建的axios序号，默认为0
     * @param useInterceptors 是否启用拦截器，默认不启用
     */
    init:function(url,name,useInterceptors){
        //不传 name,默认为 'projectUrl'
        let useInterceptor = false
        if(!name){
            name='projectUrl'
        }
        let axiosClass = new axiosClassApi()
        //创建一个axios，creattAxios方法会创建一个axios，并返回对于的get、post方法
        //默认不用拦截器
        if(useInterceptors){
            useInterceptor = true
        }
        this.axiosApi[name] = axiosClass.createAxios(url,useInterceptor)
        console.log('axios创建成功')
        console.table(this.axiosApi)
    },
    /**
     * axios的URL统一管理
     * axios使用数组维护如果项目只存在一个后台，则使用AxiosApi.axiosApi[0]，
     * 如果项目需要多个后台，则AxiosApi.axiosApi[？]中，数组序号应该与你创建的axios序号统一
     */
    //加载组织架构信息
    getzzjg(params,urlName){
        debugger
        return this.axiosApi[urlName].get('/api/teleAddrBook/loadAllOrganizationStructure', params)
    },
    //新增人员相关信息
    updataxgry(params,urlName){
        return this.axiosApi[urlName].post('/api/userInfo/add', params)
    },
    //删除相关人员信息
    deletexgry(params,urlName){
        return this.axiosApi[urlName].post('/api/userInfo/delete', params)
    },
    //查询人员信息
    searchryxx(params,urlName){
        return this.axiosApi[urlName].post('/api/userInfo/queryAllStaffBasicInfoByConditionOrNot', params)
    },
    //查询人员痕迹
    searchgj(params,urlName){
        return this.axiosApi[urlName].post( '/api/userTemperatureInfo/queryAllStaffTemperatureInfoByConditionOrNot', params)
    },
    //查询单个人员的轨迹信息
    getgjxx(params,urlName){
        return this.axiosApi[urlName].post('/api/userInfo/queryStaffTraceInfoByUserId',params)
    },
    //更新人员信息
    updataxx(params,urlName){
        return this.axiosApi[urlName].post('/api/userInfo/update', params)
    },
    //导出
    excel(params,urlName){
        return this.axiosApi[urlName].post('/api/teleAddrBook/exportUserBasicInfoExcelWithOrgStructIdAndCondition',params,)
    },
    //字典信息
    getzd(params,urlName){
        return this.axiosApi[urlName].get('/api/teleAddrBook/loadDictionaryInfo',params)
    },
    //导出数据
    exportExcel(params,urlName,responseType){
        return this.axiosApi[0].post('/api/teleAddrBook/exportUserBasicInfoExcelWithOrgStructIdAndCondition',params,responseType)
    },
    /**********************************************************************方案管理接口调用*******************************************************************/

    //新增方案
    addFa(params,urlName){
        return this.axiosApi[urlName].post('/api/scheme/add',params)
    },
    //編輯方案
    editeFa(params,urlName){
        return this.axiosApi[urlName].post('/api/scheme/update',params)
    },
    //刪除方案
    deleteFa(params,urlName){
        return this.axiosApi[urlName].get('/api/scheme/delete',params)
    },

    //獲取方案表格數據
    getFaTableData(params,urlName){
        return this.axiosApi[urlName].post('/api/scheme/querySchemeByConditionOrNot',params)
    },
    //获取任务类型
    getMissionType(params,urlName) {
        return this.axiosApi[urlName].get('/api/task/queryAllTaskType',params)
    },
    //新增任务
    addMission(params,urlName) {
        return this.axiosApi[urlName].post('/api/task/add',params)
    },
    //编辑任务
    editeMission(params,urlName) {
        return this.axiosApi[urlName].post('/api/task/update',params)
    },
    //删除任务
    deleteMission(params,urlName) {
        return this.axiosApi[urlName].get('/api/task/delete',params)
    },
    //查询任务卡牌列表
    selectMission(params,urlName) {
        return this.axiosApi[urlName].post('/api/task/queryTaskByConditionOrNot',params)
    },
    //查询所有微信人员
    selectAllWxRy(params,urlName) {
        return this.axiosApi[urlName].get('/api/userInfo/queryAllWeChatUserInfo',params)
    },

}
export default AxiosApi;
